//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/.
// 

package src.modules.nodes;

import src.modules.mobility.models.CustomRectangleMobility;
import src.modules.nodes.MyWirelessNode;


module HostBici extends MyWirelessNode{
    
    parameters:
        //mobilityType="StationaryMobility";
        mobilityType="CustomRectangleMobility";
		//mobilityType="CircleMobility";
		
		//Parámetros de la batería
		batteryStats.detail = default(false);
        batteryStats.timeSeries = default(false);

        battery.nominal = default(1000 mAh);
        battery.capacity = default(battery.nominal);
        battery.voltage = default(3 V);
        battery.resolution = default(60 s);
        battery.publishDelta = default(1);
        battery.publishTime = default(battery.resolution);
        battery.numDevices = default(1);
        
        //Sent packages Signal
        @signal[sent](type="int");
        @statistic[sentPackages](title="sent package"; source="sent"; record=vector,stats; interpolationmode=none);
        
        //Received packages Signal
        @signal[received](type="int");
        @statistic[receivedPackages](title="received package"; source="received"; record=vector,stats; interpolationmode=none);
		
		//X position Signal
		@signal[xposition](type="double");
		@statistic[xPosition](title="position x"; source="xposition"; record=vector,stats; interpolationmode=none);
	
		//Y position Signal
		@signal[yposition](type="double");
		@statistic[yPosition](title="position y"; source="yposition"; record=vector,stats; interpolationmode=none);	
		
		//Received broadcast Signal
		@signal[received_broadcast](type="int");
		@statistic[received_broadcast](title="received broadcast"; source="received_broadcast"; record=vector,stats; interpolationmode=none);	
}